| 12345678910111213141516171819202122232425262728293031 |
- 'use client';
- import './price-chart.scss';
- import dynamic from 'next/dynamic';
- import type { StockPriceRow } from '@/types/stock';
- // recharts(d3) 지연 로드 — 상단 요약/표 페인트 뒤 차트 청크를 client-only(ssr:false)로 로드해 first-load JS 축소.
- const PriceChartInner = dynamic(() => import('./PriceChartInner'), {
- ssr: false,
- loading: () => (
- <div className='stock-chart stock-chart--flat'>
- <div className='stock-chart__canvas' aria-hidden='true' />
- </div>
- )
- });
- type Props = {
- // GetDetail.recentPrices — 최신순(newest-first)
- prices: StockPriceRow[];
- name: string;
- };
- export default function StockPriceChart({ prices, name }: Props)
- {
- // 데이터 2개 미만이면 미표시 (하단 일별 시세 표로 대체)
- if (!prices || prices.length < 2) {
- return null;
- }
- return <PriceChartInner prices={prices} name={name} />;
- }
|